package com.zhongwang.business.gen.entity;

import java.util.ArrayList;
import java.util.List;

public class MainContInfoExample {
    protected String orderByClause;

    protected boolean distinct;

    protected List<Criteria> oredCriteria;

    public MainContInfoExample() {
        oredCriteria = new ArrayList<Criteria>();
    }

    public void setOrderByClause(String orderByClause) {
        this.orderByClause = orderByClause;
    }

    public String getOrderByClause() {
        return orderByClause;
    }

    public void setDistinct(boolean distinct) {
        this.distinct = distinct;
    }

    public boolean isDistinct() {
        return distinct;
    }

    public List<Criteria> getOredCriteria() {
        return oredCriteria;
    }

    public void or(Criteria criteria) {
        oredCriteria.add(criteria);
    }

    public Criteria or() {
        Criteria criteria = createCriteriaInternal();
        oredCriteria.add(criteria);
        return criteria;
    }

    public Criteria createCriteria() {
        Criteria criteria = createCriteriaInternal();
        if (oredCriteria.size() == 0) {
            oredCriteria.add(criteria);
        }
        return criteria;
    }

    protected Criteria createCriteriaInternal() {
        Criteria criteria = new Criteria();
        return criteria;
    }

    public void clear() {
        oredCriteria.clear();
        orderByClause = null;
        distinct = false;
    }

    protected abstract static class GeneratedCriteria {
        protected List<Criterion> criteria;

        protected GeneratedCriteria() {
            super();
            criteria = new ArrayList<Criterion>();
        }

        public boolean isValid() {
            return criteria.size() > 0;
        }

        public List<Criterion> getAllCriteria() {
            return criteria;
        }

        public List<Criterion> getCriteria() {
            return criteria;
        }

        protected void addCriterion(String condition) {
            if (condition == null) {
                throw new RuntimeException("Value for condition cannot be null");
            }
            criteria.add(new Criterion(condition));
        }

        protected void addCriterion(String condition, Object value, String property) {
            if (value == null) {
                throw new RuntimeException("Value for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value));
        }

        protected void addCriterion(String condition, Object value1, Object value2, String property) {
            if (value1 == null || value2 == null) {
                throw new RuntimeException("Between values for " + property + " cannot be null");
            }
            criteria.add(new Criterion(condition, value1, value2));
        }

        public Criteria andMainContIdIsNull() {
            addCriterion("main_cont_id is null");
            return (Criteria) this;
        }

        public Criteria andMainContIdIsNotNull() {
            addCriterion("main_cont_id is not null");
            return (Criteria) this;
        }

        public Criteria andMainContIdEqualTo(Integer value) {
            addCriterion("main_cont_id =", value, "mainContId");
            return (Criteria) this;
        }

        public Criteria andMainContIdNotEqualTo(Integer value) {
            addCriterion("main_cont_id <>", value, "mainContId");
            return (Criteria) this;
        }

        public Criteria andMainContIdGreaterThan(Integer value) {
            addCriterion("main_cont_id >", value, "mainContId");
            return (Criteria) this;
        }

        public Criteria andMainContIdGreaterThanOrEqualTo(Integer value) {
            addCriterion("main_cont_id >=", value, "mainContId");
            return (Criteria) this;
        }

        public Criteria andMainContIdLessThan(Integer value) {
            addCriterion("main_cont_id <", value, "mainContId");
            return (Criteria) this;
        }

        public Criteria andMainContIdLessThanOrEqualTo(Integer value) {
            addCriterion("main_cont_id <=", value, "mainContId");
            return (Criteria) this;
        }

        public Criteria andMainContIdIn(List<Integer> values) {
            addCriterion("main_cont_id in", values, "mainContId");
            return (Criteria) this;
        }

        public Criteria andMainContIdNotIn(List<Integer> values) {
            addCriterion("main_cont_id not in", values, "mainContId");
            return (Criteria) this;
        }

        public Criteria andMainContIdBetween(Integer value1, Integer value2) {
            addCriterion("main_cont_id between", value1, value2, "mainContId");
            return (Criteria) this;
        }

        public Criteria andMainContIdNotBetween(Integer value1, Integer value2) {
            addCriterion("main_cont_id not between", value1, value2, "mainContId");
            return (Criteria) this;
        }

        public Criteria andMainContComIsNull() {
            addCriterion("main_cont_com is null");
            return (Criteria) this;
        }

        public Criteria andMainContComIsNotNull() {
            addCriterion("main_cont_com is not null");
            return (Criteria) this;
        }

        public Criteria andMainContComEqualTo(String value) {
            addCriterion("main_cont_com =", value, "mainContCom");
            return (Criteria) this;
        }

        public Criteria andMainContComNotEqualTo(String value) {
            addCriterion("main_cont_com <>", value, "mainContCom");
            return (Criteria) this;
        }

        public Criteria andMainContComGreaterThan(String value) {
            addCriterion("main_cont_com >", value, "mainContCom");
            return (Criteria) this;
        }

        public Criteria andMainContComGreaterThanOrEqualTo(String value) {
            addCriterion("main_cont_com >=", value, "mainContCom");
            return (Criteria) this;
        }

        public Criteria andMainContComLessThan(String value) {
            addCriterion("main_cont_com <", value, "mainContCom");
            return (Criteria) this;
        }

        public Criteria andMainContComLessThanOrEqualTo(String value) {
            addCriterion("main_cont_com <=", value, "mainContCom");
            return (Criteria) this;
        }

        public Criteria andMainContComLike(String value) {
            addCriterion("main_cont_com like", value, "mainContCom");
            return (Criteria) this;
        }

        public Criteria andMainContComNotLike(String value) {
            addCriterion("main_cont_com not like", value, "mainContCom");
            return (Criteria) this;
        }

        public Criteria andMainContComIn(List<String> values) {
            addCriterion("main_cont_com in", values, "mainContCom");
            return (Criteria) this;
        }

        public Criteria andMainContComNotIn(List<String> values) {
            addCriterion("main_cont_com not in", values, "mainContCom");
            return (Criteria) this;
        }

        public Criteria andMainContComBetween(String value1, String value2) {
            addCriterion("main_cont_com between", value1, value2, "mainContCom");
            return (Criteria) this;
        }

        public Criteria andMainContComNotBetween(String value1, String value2) {
            addCriterion("main_cont_com not between", value1, value2, "mainContCom");
            return (Criteria) this;
        }

        public Criteria andMainContAmountIsNull() {
            addCriterion("main_cont_amount is null");
            return (Criteria) this;
        }

        public Criteria andMainContAmountIsNotNull() {
            addCriterion("main_cont_amount is not null");
            return (Criteria) this;
        }

        public Criteria andMainContAmountEqualTo(Long value) {
            addCriterion("main_cont_amount =", value, "mainContAmount");
            return (Criteria) this;
        }

        public Criteria andMainContAmountNotEqualTo(Long value) {
            addCriterion("main_cont_amount <>", value, "mainContAmount");
            return (Criteria) this;
        }

        public Criteria andMainContAmountGreaterThan(Long value) {
            addCriterion("main_cont_amount >", value, "mainContAmount");
            return (Criteria) this;
        }

        public Criteria andMainContAmountGreaterThanOrEqualTo(Long value) {
            addCriterion("main_cont_amount >=", value, "mainContAmount");
            return (Criteria) this;
        }

        public Criteria andMainContAmountLessThan(Long value) {
            addCriterion("main_cont_amount <", value, "mainContAmount");
            return (Criteria) this;
        }

        public Criteria andMainContAmountLessThanOrEqualTo(Long value) {
            addCriterion("main_cont_amount <=", value, "mainContAmount");
            return (Criteria) this;
        }

        public Criteria andMainContAmountIn(List<Long> values) {
            addCriterion("main_cont_amount in", values, "mainContAmount");
            return (Criteria) this;
        }

        public Criteria andMainContAmountNotIn(List<Long> values) {
            addCriterion("main_cont_amount not in", values, "mainContAmount");
            return (Criteria) this;
        }

        public Criteria andMainContAmountBetween(Long value1, Long value2) {
            addCriterion("main_cont_amount between", value1, value2, "mainContAmount");
            return (Criteria) this;
        }

        public Criteria andMainContAmountNotBetween(Long value1, Long value2) {
            addCriterion("main_cont_amount not between", value1, value2, "mainContAmount");
            return (Criteria) this;
        }

        public Criteria andMainContPayMethodIsNull() {
            addCriterion("main_cont_pay_method is null");
            return (Criteria) this;
        }

        public Criteria andMainContPayMethodIsNotNull() {
            addCriterion("main_cont_pay_method is not null");
            return (Criteria) this;
        }

        public Criteria andMainContPayMethodEqualTo(String value) {
            addCriterion("main_cont_pay_method =", value, "mainContPayMethod");
            return (Criteria) this;
        }

        public Criteria andMainContPayMethodNotEqualTo(String value) {
            addCriterion("main_cont_pay_method <>", value, "mainContPayMethod");
            return (Criteria) this;
        }

        public Criteria andMainContPayMethodGreaterThan(String value) {
            addCriterion("main_cont_pay_method >", value, "mainContPayMethod");
            return (Criteria) this;
        }

        public Criteria andMainContPayMethodGreaterThanOrEqualTo(String value) {
            addCriterion("main_cont_pay_method >=", value, "mainContPayMethod");
            return (Criteria) this;
        }

        public Criteria andMainContPayMethodLessThan(String value) {
            addCriterion("main_cont_pay_method <", value, "mainContPayMethod");
            return (Criteria) this;
        }

        public Criteria andMainContPayMethodLessThanOrEqualTo(String value) {
            addCriterion("main_cont_pay_method <=", value, "mainContPayMethod");
            return (Criteria) this;
        }

        public Criteria andMainContPayMethodLike(String value) {
            addCriterion("main_cont_pay_method like", value, "mainContPayMethod");
            return (Criteria) this;
        }

        public Criteria andMainContPayMethodNotLike(String value) {
            addCriterion("main_cont_pay_method not like", value, "mainContPayMethod");
            return (Criteria) this;
        }

        public Criteria andMainContPayMethodIn(List<String> values) {
            addCriterion("main_cont_pay_method in", values, "mainContPayMethod");
            return (Criteria) this;
        }

        public Criteria andMainContPayMethodNotIn(List<String> values) {
            addCriterion("main_cont_pay_method not in", values, "mainContPayMethod");
            return (Criteria) this;
        }

        public Criteria andMainContPayMethodBetween(String value1, String value2) {
            addCriterion("main_cont_pay_method between", value1, value2, "mainContPayMethod");
            return (Criteria) this;
        }

        public Criteria andMainContPayMethodNotBetween(String value1, String value2) {
            addCriterion("main_cont_pay_method not between", value1, value2, "mainContPayMethod");
            return (Criteria) this;
        }

        public Criteria andMainContRecAmountIsNull() {
            addCriterion("main_cont_rec_amount is null");
            return (Criteria) this;
        }

        public Criteria andMainContRecAmountIsNotNull() {
            addCriterion("main_cont_rec_amount is not null");
            return (Criteria) this;
        }

        public Criteria andMainContRecAmountEqualTo(Long value) {
            addCriterion("main_cont_rec_amount =", value, "mainContRecAmount");
            return (Criteria) this;
        }

        public Criteria andMainContRecAmountNotEqualTo(Long value) {
            addCriterion("main_cont_rec_amount <>", value, "mainContRecAmount");
            return (Criteria) this;
        }

        public Criteria andMainContRecAmountGreaterThan(Long value) {
            addCriterion("main_cont_rec_amount >", value, "mainContRecAmount");
            return (Criteria) this;
        }

        public Criteria andMainContRecAmountGreaterThanOrEqualTo(Long value) {
            addCriterion("main_cont_rec_amount >=", value, "mainContRecAmount");
            return (Criteria) this;
        }

        public Criteria andMainContRecAmountLessThan(Long value) {
            addCriterion("main_cont_rec_amount <", value, "mainContRecAmount");
            return (Criteria) this;
        }

        public Criteria andMainContRecAmountLessThanOrEqualTo(Long value) {
            addCriterion("main_cont_rec_amount <=", value, "mainContRecAmount");
            return (Criteria) this;
        }

        public Criteria andMainContRecAmountIn(List<Long> values) {
            addCriterion("main_cont_rec_amount in", values, "mainContRecAmount");
            return (Criteria) this;
        }

        public Criteria andMainContRecAmountNotIn(List<Long> values) {
            addCriterion("main_cont_rec_amount not in", values, "mainContRecAmount");
            return (Criteria) this;
        }

        public Criteria andMainContRecAmountBetween(Long value1, Long value2) {
            addCriterion("main_cont_rec_amount between", value1, value2, "mainContRecAmount");
            return (Criteria) this;
        }

        public Criteria andMainContRecAmountNotBetween(Long value1, Long value2) {
            addCriterion("main_cont_rec_amount not between", value1, value2, "mainContRecAmount");
            return (Criteria) this;
        }

        public Criteria andMainContRecPercIsNull() {
            addCriterion("main_cont_rec_perc is null");
            return (Criteria) this;
        }

        public Criteria andMainContRecPercIsNotNull() {
            addCriterion("main_cont_rec_perc is not null");
            return (Criteria) this;
        }

        public Criteria andMainContRecPercEqualTo(Long value) {
            addCriterion("main_cont_rec_perc =", value, "mainContRecPerc");
            return (Criteria) this;
        }

        public Criteria andMainContRecPercNotEqualTo(Long value) {
            addCriterion("main_cont_rec_perc <>", value, "mainContRecPerc");
            return (Criteria) this;
        }

        public Criteria andMainContRecPercGreaterThan(Long value) {
            addCriterion("main_cont_rec_perc >", value, "mainContRecPerc");
            return (Criteria) this;
        }

        public Criteria andMainContRecPercGreaterThanOrEqualTo(Long value) {
            addCriterion("main_cont_rec_perc >=", value, "mainContRecPerc");
            return (Criteria) this;
        }

        public Criteria andMainContRecPercLessThan(Long value) {
            addCriterion("main_cont_rec_perc <", value, "mainContRecPerc");
            return (Criteria) this;
        }

        public Criteria andMainContRecPercLessThanOrEqualTo(Long value) {
            addCriterion("main_cont_rec_perc <=", value, "mainContRecPerc");
            return (Criteria) this;
        }

        public Criteria andMainContRecPercIn(List<Long> values) {
            addCriterion("main_cont_rec_perc in", values, "mainContRecPerc");
            return (Criteria) this;
        }

        public Criteria andMainContRecPercNotIn(List<Long> values) {
            addCriterion("main_cont_rec_perc not in", values, "mainContRecPerc");
            return (Criteria) this;
        }

        public Criteria andMainContRecPercBetween(Long value1, Long value2) {
            addCriterion("main_cont_rec_perc between", value1, value2, "mainContRecPerc");
            return (Criteria) this;
        }

        public Criteria andMainContRecPercNotBetween(Long value1, Long value2) {
            addCriterion("main_cont_rec_perc not between", value1, value2, "mainContRecPerc");
            return (Criteria) this;
        }

        public Criteria andMainContAccPayableIsNull() {
            addCriterion("main_cont_acc_payable is null");
            return (Criteria) this;
        }

        public Criteria andMainContAccPayableIsNotNull() {
            addCriterion("main_cont_acc_payable is not null");
            return (Criteria) this;
        }

        public Criteria andMainContAccPayableEqualTo(String value) {
            addCriterion("main_cont_acc_payable =", value, "mainContAccPayable");
            return (Criteria) this;
        }

        public Criteria andMainContAccPayableNotEqualTo(String value) {
            addCriterion("main_cont_acc_payable <>", value, "mainContAccPayable");
            return (Criteria) this;
        }

        public Criteria andMainContAccPayableGreaterThan(String value) {
            addCriterion("main_cont_acc_payable >", value, "mainContAccPayable");
            return (Criteria) this;
        }

        public Criteria andMainContAccPayableGreaterThanOrEqualTo(String value) {
            addCriterion("main_cont_acc_payable >=", value, "mainContAccPayable");
            return (Criteria) this;
        }

        public Criteria andMainContAccPayableLessThan(String value) {
            addCriterion("main_cont_acc_payable <", value, "mainContAccPayable");
            return (Criteria) this;
        }

        public Criteria andMainContAccPayableLessThanOrEqualTo(String value) {
            addCriterion("main_cont_acc_payable <=", value, "mainContAccPayable");
            return (Criteria) this;
        }

        public Criteria andMainContAccPayableLike(String value) {
            addCriterion("main_cont_acc_payable like", value, "mainContAccPayable");
            return (Criteria) this;
        }

        public Criteria andMainContAccPayableNotLike(String value) {
            addCriterion("main_cont_acc_payable not like", value, "mainContAccPayable");
            return (Criteria) this;
        }

        public Criteria andMainContAccPayableIn(List<String> values) {
            addCriterion("main_cont_acc_payable in", values, "mainContAccPayable");
            return (Criteria) this;
        }

        public Criteria andMainContAccPayableNotIn(List<String> values) {
            addCriterion("main_cont_acc_payable not in", values, "mainContAccPayable");
            return (Criteria) this;
        }

        public Criteria andMainContAccPayableBetween(String value1, String value2) {
            addCriterion("main_cont_acc_payable between", value1, value2, "mainContAccPayable");
            return (Criteria) this;
        }

        public Criteria andMainContAccPayableNotBetween(String value1, String value2) {
            addCriterion("main_cont_acc_payable not between", value1, value2, "mainContAccPayable");
            return (Criteria) this;
        }

        public Criteria andMainContAmountPayableIsNull() {
            addCriterion("main_cont_amount_payable is null");
            return (Criteria) this;
        }

        public Criteria andMainContAmountPayableIsNotNull() {
            addCriterion("main_cont_amount_payable is not null");
            return (Criteria) this;
        }

        public Criteria andMainContAmountPayableEqualTo(Long value) {
            addCriterion("main_cont_amount_payable =", value, "mainContAmountPayable");
            return (Criteria) this;
        }

        public Criteria andMainContAmountPayableNotEqualTo(Long value) {
            addCriterion("main_cont_amount_payable <>", value, "mainContAmountPayable");
            return (Criteria) this;
        }

        public Criteria andMainContAmountPayableGreaterThan(Long value) {
            addCriterion("main_cont_amount_payable >", value, "mainContAmountPayable");
            return (Criteria) this;
        }

        public Criteria andMainContAmountPayableGreaterThanOrEqualTo(Long value) {
            addCriterion("main_cont_amount_payable >=", value, "mainContAmountPayable");
            return (Criteria) this;
        }

        public Criteria andMainContAmountPayableLessThan(Long value) {
            addCriterion("main_cont_amount_payable <", value, "mainContAmountPayable");
            return (Criteria) this;
        }

        public Criteria andMainContAmountPayableLessThanOrEqualTo(Long value) {
            addCriterion("main_cont_amount_payable <=", value, "mainContAmountPayable");
            return (Criteria) this;
        }

        public Criteria andMainContAmountPayableIn(List<Long> values) {
            addCriterion("main_cont_amount_payable in", values, "mainContAmountPayable");
            return (Criteria) this;
        }

        public Criteria andMainContAmountPayableNotIn(List<Long> values) {
            addCriterion("main_cont_amount_payable not in", values, "mainContAmountPayable");
            return (Criteria) this;
        }

        public Criteria andMainContAmountPayableBetween(Long value1, Long value2) {
            addCriterion("main_cont_amount_payable between", value1, value2, "mainContAmountPayable");
            return (Criteria) this;
        }

        public Criteria andMainContAmountPayableNotBetween(Long value1, Long value2) {
            addCriterion("main_cont_amount_payable not between", value1, value2, "mainContAmountPayable");
            return (Criteria) this;
        }
    }

    public static class Criteria extends GeneratedCriteria {

        protected Criteria() {
            super();
        }
    }

    public static class Criterion {
        private String condition;

        private Object value;

        private Object secondValue;

        private boolean noValue;

        private boolean singleValue;

        private boolean betweenValue;

        private boolean listValue;

        private String typeHandler;

        public String getCondition() {
            return condition;
        }

        public Object getValue() {
            return value;
        }

        public Object getSecondValue() {
            return secondValue;
        }

        public boolean isNoValue() {
            return noValue;
        }

        public boolean isSingleValue() {
            return singleValue;
        }

        public boolean isBetweenValue() {
            return betweenValue;
        }

        public boolean isListValue() {
            return listValue;
        }

        public String getTypeHandler() {
            return typeHandler;
        }

        protected Criterion(String condition) {
            super();
            this.condition = condition;
            this.typeHandler = null;
            this.noValue = true;
        }

        protected Criterion(String condition, Object value, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.typeHandler = typeHandler;
            if (value instanceof List<?>) {
                this.listValue = true;
            } else {
                this.singleValue = true;
            }
        }

        protected Criterion(String condition, Object value) {
            this(condition, value, null);
        }

        protected Criterion(String condition, Object value, Object secondValue, String typeHandler) {
            super();
            this.condition = condition;
            this.value = value;
            this.secondValue = secondValue;
            this.typeHandler = typeHandler;
            this.betweenValue = true;
        }

        protected Criterion(String condition, Object value, Object secondValue) {
            this(condition, value, secondValue, null);
        }
    }
}